/*
 * Documentos.h
 *
 *  Created on: 15/10/2011
 *      Author: diego
 */

using namespace std;
#include <stdlib.h>
#include <iostream>
#include <string>
#include <fstream>
#include "Lista.h"
#include "Nodo.h"
#include "IteradorLista.h"
#include "ElementoInexistenteException.h"
#include "Constantes.h"
#include "Constantes.h"
#include "Configuracion.h"

#ifndef DOCUMENTOS_H_
#define DOCUMENTOS_H_

typedef struct nodo_doc_t{
	int doc_id;
	int offset;
	int largo;
	int cant_terminos;
}nodo_doc;

class Documentos {
	Lista<nodo_doc>* lista;
	int docActual;
	string path;
	string pathRegFijo;
	string pathRegVariable;
	int ultimoID;
	size_t cantDocs;
public:
	Documentos();
	void agregarDocumentos(string path, int cant_terminos);
	int getUltimoId();
	string getPath(int id);
	int getCantTerminos(int id);
	void printLista();//debug
	virtual ~Documentos();
    size_t getCantDocs() const;
};

#endif /* DOCUMENTO_H_ */
